package com.yonyou.pmclouds.problemlog.service.rmiitf;

import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.problemlog.entity.ProblemLogVO;
import com.yonyou.pmclouds.repairlog.entity.RepairLogVO;

public interface ProblemLogMaintain {
    /**
     * 新增问题记录单
     * @param vo
     * @return
     * @throws BusinessException
     */
    ProblemLogVO add(ProblemLogVO vo) throws BusinessException;
    /**
     * 删除问题记录单
     * @param pk_problemlog
     * @return
     * @throws BusinessException
     */
    String delete(String pk_problemlog) throws BusinessException;
    /**
     * 修改问题记录单
     * @param vo
     * @return
     * @throws BusinessException
     */
    ProblemLogVO update(ProblemLogVO vo) throws BusinessException;
    /**
     * 整改人整改
     * @return
     * @throws BusinessException
     */
    ProblemLogVO repair(ProblemLogVO problemLogVO) throws BusinessException;
    /**
     * 监理方继续整改
     * @return
     * @throws BusinessException
     */
    ProblemLogVO repairTo(ProblemLogVO problemLogVO) throws BusinessException;
    /**
     * 监理方判定整改通过
     * @return
     * @throws BusinessException
     */
    ProblemLogVO pass(ProblemLogVO problemLogVO) throws BusinessException;
    /**
     * 批量生成问题记录单
     * @param vos
     * @return
     * @throws BusinessException
     */
    ProblemLogVO[] add(ProblemLogVO[] vos) throws BusinessException;

    ProblemLogVO updateAssignInfo(ProblemLogVO vo) throws BusinessException;
}
